Формування вхідних потоків і контролю їх якості для комп’ютерного моделювання складних систем статистичними методами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Моделювання
Група:
ПІ

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ  Звіт До лабораторної роботи № 1 На тему: “ Формування вхідних потоків і контролю їх якості для комп’ютерного моделювання складних систем статистичними методами” З дисципліни : "Моделювання програмного забезпечення" Мета роботи: одержання послідовностей псевдовипадкових квазірівномірно розподілених чисел запропонованими методами та перевірка їх якості. Завдання: Одержати послідовності псевдовипадкових квазірівномірно розподілених чисел при заданих параметрах для кожного з нижчевказаних способів: методу серединних квадратів; мультиплікативного методу; за допомогою вбудованих функцій із програмного забезпечення комп’ютера. Кожну з генерованих послідовностей перевірити на рівномірність двома методами: за гістограмою; за непрямими ознаками. Кожну з генерованих послідовностей провірити на незалежність методом, основаним на обчисленні кореляційного моменту. Перевірити одержані послідовності на стохастичність. Код програми using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Lab1_MPZ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private static int t = 1; private static int count = 20; #region Метод серединних квадратів private void Count1Button_Click(object sender, EventArgs e) { List<double> mas = new List<double>(); Gistograma1.Refresh(); try { Output1.Clear(); double X1 = double.Parse(Input1.Text); int N = int.Parse(Input2.Text); int length = X1.ToString().Length - 2; if (length % 2 == 1) length++; StringBuilder sb = new StringBuilder(); string format = "{0:F" + length * 2 + "} "; string format_small = "{0:F" + length + "} "; sb.AppendFormat(format_small, X1); double Xi = X1; for (int i = 1; i < N; i++) { try { string tmp; Xi = Xi * Xi; tmp = string.Format(format, Xi); Xi = double.Parse("0," + tmp.Substring(length / 2 + 2, length)); //if (Xi == 0) Xi = X1; mas.Add(Xi); sb.AppendFormat(format_small, Xi); } catch { } } Output1.Text = sb.ToString(); } catch (System.FormatException exc) { MessageBox.Show("Помилка при введенi даних для методу серединних квадратiв"); } #region вивід гістограми int[] sections = new int[count]; for (int i = 0; i < mas.Count; i++) { sections[(int)(mas[i] / (1.0 / count))]++; } int line_width = (int)((Gistograma1.Width - count + 1) / count); Graphics gr = Graphics.FromHwnd(Gistograma1.Handle); for (int i = 0; i < count; i++) { gr.DrawLine(new Pen(Color.Red, line_width), new Point(10 + (line_width + 1) * i, 110), new Point(10 + (line_width + 1) * i, 110 - ((int)((double)sections[i] / (double)sections.Max() * 100)))); } gr.Dispose(); #endregion // кінець виводу гісторгами #region перевірка за непрямими ознаками Graphic1.Refresh(); gr = Graphics.FromHwnd(Graphic1.Handle); int dot_count = mas.Count-1; for (int i = 0; i < dot_count; i += 2) { gr.FillRectangle(Brushes.R...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини